{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 多项式回归\n",
    "\n",
    "多项式回归（Polynomial Regression）是一种回归分析方法，它通过使用多项式函数来拟合自变量和因变量之间的关系。与简单的一元或多元线性回归不同，多项式回归可以捕捉到自变量与因变量之间的非线性关系。\n",
    "\n",
    "### 1. **模型表达式**\n",
    "\n",
    "多项式回归的数学模型可以表示为：\n",
    "\n",
    "$$\n",
    "y = \\beta_0 + \\beta_1 x + \\beta_2 x^2 + \\beta_3 x^3 + \\dots + \\beta_n x^n + \\epsilon\n",
    "$$\n",
    "\n",
    "其中：\n",
    "- $ y $ 是因变量（响应变量）。\n",
    "- $ x $ 是自变量（预测变量）。\n",
    "- $ \\beta_0, \\beta_1, \\dots, \\beta_n $ 是回归系数，表示各个阶次的自变量对因变量的影响程度。\n",
    "- $ \\epsilon $ 是误差项（残差），表示模型未能解释的部分。\n",
    "\n",
    "在这个模型中，$ x $ 的高次项（如 $ x^2, x^3 $ 等）允许模型适应自变量与因变量之间的非线性关系。\n",
    "\n",
    "### 2. **回归系数的估计**\n",
    "\n",
    "多项式回归的回归系数通常通过 **最小二乘法**（Ordinary Least Squares, OLS）来估计。最小二乘法的目标是最小化观测值与预测值之间的误差平方和：\n",
    "\n",
    "$$\n",
    "S(\\beta_0, \\beta_1, \\dots, \\beta_n) = \\sum_{i=1}^{n} (y_i - (\\beta_0 + \\beta_1 x_i + \\beta_2 x_i^2 + \\dots + \\beta_n x_i^n))^2\n",
    "$$\n",
    "\n",
    "通过求解这个方程，我们可以得到回归系数 $ \\beta_0, \\beta_1, \\dots, \\beta_n $ 的估计值。这与线性回归非常相似，只不过多了额外的高次项。\n",
    "\n",
    "### 3. **模型的选择**\n",
    "\n",
    "多项式回归中的重要问题是选择合适的多项式阶数 $ n $（即自变量的最高次幂）。阶数过低可能无法捕捉到数据中的非线性关系，阶数过高则可能导致 **过拟合**（overfitting），即模型对训练数据拟合得太好，导致在新数据上的预测能力较差。\n",
    "\n",
    "通常可以通过交叉验证（cross-validation）或AIC（Akaike Information Criterion）等方法来选择最佳的阶数。\n",
    "\n",
    "### 4. **过拟合与欠拟合**\n",
    "\n",
    "- **过拟合**：如果选择了过高的阶数，模型可能会对训练数据拟合得过于精确，甚至捕捉到数据中的噪声，这样会导致在新的数据上表现较差。过拟合通常表现为模型曲线非常复杂，能够穿过每一个数据点。\n",
    "  \n",
    "- **欠拟合**：如果选择的阶数过低，模型可能无法捕捉到数据中的真实模式，导致在训练数据和新数据上的预测效果都较差。欠拟合通常表现为模型曲线过于简单，无法准确表示数据的趋势。\n",
    "\n",
    "### 5. **应用场景**\n",
    "\n",
    "多项式回归主要应用于自变量和因变量之间存在非线性关系的情况。典型的应用场景包括：\n",
    "- **经济学**：预测经济指标之间的复杂关系，如产量和价格之间的关系。\n",
    "- **工程学**：建模一些物理现象，比如力学中的位移与时间的关系。\n",
    "- **市场营销**：分析产品销售和广告支出之间的非线性关系。\n",
    "- **医学**：在一些医学研究中，病人的某些生理指标与治疗反应之间可能存在线性或非线性关系。\n",
    "\n",
    "### 6. **模型评估**\n",
    "\n",
    "与线性回归类似，多项式回归的评估通常通过以下几个指标：\n",
    "\n",
    "- **决定系数 $ R^2 $**：衡量模型的拟合优度，表示模型对数据的解释能力。多项式回归的 $ R^2 $ 可能会很高，但如果阶数过高，模型可能出现过拟合现象。\n",
    "  \n",
    "- **均方误差（MSE）**：表示模型的预测误差，计算方式为误差的平方和的平均值。较小的均方误差表示模型的预测精度较高。\n",
    "\n",
    "- **交叉验证**：可以通过交叉验证来判断模型在新数据上的表现，从而选择最佳的多项式阶数。\n",
    "\n",
    "### 7. **局限性**\n",
    "\n",
    "- **过拟合**：高阶多项式容易导致过拟合，尤其是在数据量较小的情况下。过拟合会使模型在训练数据上表现得非常好，但在新数据上的泛化能力差。\n",
    "- **计算复杂性**：随着多项式阶数的增加，计算回归系数的复杂性也会增加，这在处理大量数据时可能成为瓶颈。\n",
    "- **解释性差**：高阶多项式模型可能会使回归系数的解释变得困难，因为它们可能不再代表直接的因果关系。\n",
    "\n",
    "### 8. **总结**\n",
    "\n",
    "多项式回归是一种强大的回归方法，适用于自变量与因变量之间存在非线性关系的情况。通过引入自变量的高次项，它能拟合复杂的数据模式。然而，选择合适的阶数对于避免过拟合或欠拟合至关重要，需要根据数据和具体问题进行调优。"
   ]
  },
  {
   "cell_type": "code",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-04-21T15:52:25.583863Z",
     "start_time": "2025-04-21T15:52:25.579328Z"
    }
   },
   "source": [
    "from sklearn.linear_model import LinearRegression\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.preprocessing import PolynomialFeatures"
   ],
   "outputs": [],
   "execution_count": 7
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "## 数据集介绍\n",
    "\n",
    "+ Auto MPG - https://archive.ics.uci.edu/dataset/9/auto+mpg\n",
    "\n",
    "```shell\n",
    "1. Title: Auto-Mpg Data\n",
    "\n",
    "2. Sources:\n",
    "   (a) Origin:  This dataset was taken from the StatLib library which is\n",
    "                maintained at Carnegie Mellon University. The dataset was\n",
    "                used in the 1983 American Statistical Association Exposition.\n",
    "   (c) Date: July 7, 1993\n",
    "\n",
    "3. Past Usage:\n",
    "    -  See 2b (above)\n",
    "    -  Quinlan,R. (1993). Combining Instance-Based and Model-Based Learning.\n",
    "       In Proceedings on the Tenth International Conference of Machine\n",
    "       Learning, 236-243, University of Massachusetts, Amherst. Morgan\n",
    "       Kaufmann.\n",
    "\n",
    "4. Relevant Information:\n",
    "\n",
    "   This dataset is a slightly modified version of the dataset provided in\n",
    "   the StatLib library.  In line with the use by Ross Quinlan (1993) in\n",
    "   predicting the attribute \"mpg\", 8 of the original instances were removed\n",
    "   because they had unknown values for the \"mpg\" attribute.  The original\n",
    "   dataset is available in the file \"auto-mpg.data-original\".\n",
    "\n",
    "   \"The data concerns city-cycle fuel consumption in miles per gallon,\n",
    "    to be predicted in terms of 3 multivalued discrete and 5 continuous\n",
    "    attributes.\" (Quinlan, 1993)\n",
    "\n",
    "5. Number of Instances: 398\n",
    "\n",
    "6. Number of Attributes: 9 including the class attribute\n",
    "\n",
    "7. Attribute Information:\n",
    "\n",
    "    1. mpg:           continuous\n",
    "    2. cylinders:     multi-valued discrete\n",
    "    3. displacement:  continuous\n",
    "    4. horsepower:    continuous\n",
    "    5. weight:        continuous\n",
    "    6. acceleration:  continuous\n",
    "    7. model year:    multi-valued discrete\n",
    "    8. origin:        multi-valued discrete\n",
    "    9. car name:      string (unique for each instance)\n",
    "\n",
    "8. Missing Attribute Values:  horsepower has 6 missing values\n",
    "```\n",
    "\n",
    "\n"
   ]
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-04-21T15:42:08.028763Z",
     "start_time": "2025-04-21T15:42:07.988247Z"
    }
   },
   "cell_type": "code",
   "source": [
    "df = pd.read_csv(\"datasets/auto+mpg/auto-mpg.data\", sep=r'\\t', header=None, quotechar='\"', engine='python')\n",
    "df = df[0].str.split(expand=True)\n",
    "df = df[df[3] != '?']\n",
    "df = df[df[7] == '1']\n",
    "df[3] = df[3].astype(float)\n",
    "df[4] = df[4].astype(float)\n",
    "data = df.sort_values(by=3).to_numpy()\n",
    "data"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([['29.0', '4', '85.00', ..., '22.2', '76', '1'],\n",
       "       ['24.5', '4', '98.00', ..., '22.1', '76', '1'],\n",
       "       ['34.7', '4', '105.0', ..., '14.9', '81', '1'],\n",
       "       ...,\n",
       "       ['14.0', '8', '455.0', ..., '10.0', '70', '1'],\n",
       "       ['14.0', '8', '455.0', ..., '10.0', '70', '1'],\n",
       "       ['16.0', '8', '400.0', ..., '9.50', '73', '1']],\n",
       "      shape=(245, 8), dtype=object)"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 4
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-04-21T15:54:32.620051Z",
     "start_time": "2025-04-21T15:54:32.522432Z"
    }
   },
   "cell_type": "code",
   "source": [
    "plt.scatter(data[:, 3], data[:, 4])\n",
    "plt.show()"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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hsaTl88f5+7Nc/f6+ePcvXnuMp2/Ws+LAkm8AAAA4DgIYAAAAMBxEMCoSElJoV/+8pfi3ou8fP44d2+eu9fPH+fuzXN36vm7NokXAAAA3As9MAAAAOA4CGAAAADAcRDAAAAAgOMggAEAAADHQQBDRNOmTRPVegNvbdq08W+/efMmjRs3jurXr0+1atWigQMH0vnz58kN7rrrrtvOnW98vqxnz563bRszZgw50a5du+iJJ54Q1R35PP7yl78Ebed89qlTp1Ljxo0pNTWVevfuTZ9//nlQm0uXLtGQIUNEoac6derQiBEj6OrVq+T086+srKTc3FzKycmh9PR00WbYsGGimnW0z8vs2bPJ6e/9c889d9t5Pfroo65476Ode7j///n2m9/8xvHv+6xZs+jBBx8UFdkbNmxITz/9NB07diyojZbv99OnT1P//v0pLS1N7GfSpEl069YtcvK5X7p0iX7605/SPffcI77vmjdvTv/xH/9BpaWlQfsJ99lYsWIFyQABzLfuvfdeOnfunP+2e/du/7YJEybQX//6V1q1ahXt3LlTfKkPGDCA3ODAgQNB571582bx/L/+67/624waNSqozauvvkpOdO3aNbrvvvvo9ddfD7udz+t//ud/aOHChfThhx+KC3nfvn3FF5yCL2BHjhwRr9PatWvFxWH06NHk9PO/fv06ffTRR/Tyyy+L+9WrV4svuyeffPK2tjNmzAj6PPCXoNPfe8YBS+B5vfPOO0HbnfreRzv3wHPm2x/+8AdxkeILudPfd/6+5uBk37594n3jQL1Pnz7iNdH6/V5VVSWCl4qKCtq7dy+9/fbbtGTJEvHHjpPP/ezZs+L23//933T48GFxThs3bhSBeai33nor6L3nYEgKPI3a6375y1/67rvvvrDbLl++7EtKSvKtWrXK/9ynn37KU899+fn5Prd58cUXfa1atfJVV1eLx//yL/8innMbfv/WrFnjf8znm5WV5fvNb34T9N6npKT43nnnHfH46NGj4ucOHDjgb7NhwwZfQkKC78svv/Q5+fzD2b9/v2j3xRdf+J9r0aKFb86cOT4nC3fuw4cP9z311FMRf8Yt772W951fh169egU954b3nZWUlIjXYOfOnZq/39evX++rUaOGr7i42N9mwYIFvoyMDF95ebnPqecezsqVK33Jycm+yspKXZ+ZeEEPzLd4qIC7WFu2bCn+0uIuQ3bw4EERufJwgoKHl7i7LT8/n9yE/8JYunQpvfDCC0ELYC5btowaNGhA7du3p7y8PPHXutsUFRVRcXFx0PvMa3F06dLF/z7zPQ8dPPDAA/423J7X3eIeG7fhrmT+HPA5B+KhA+5u79SpkxhmkL0rXasdO3aIrnbuUh87dixdvHjRv80r7z0Pnaxbty7sX+FueN+V4ZF69epp/n7nex5abdSokb8N98zy4ofcI+fUc4/UhodIv/Od4GUSuSeHrwHf+973RA+dLOXjXLuYox58keLuM/7i4u6x6dOn00MPPSS61fiilpycfNuXOH+YeZub8Nj45cuXRT6A4tlnn6UWLVqI4O6TTz4ReRI8tMBDDG6ivJeBX1LKY2Ub3/MFLhD/j85fCG77LPCwGb/XgwcPDlrYjcfIO3fuLM6Zu9M5oOX/Z373u9+Rk/HwEQ8bZGdn04kTJ+g///M/qV+/fuLilZiY6Jn3nodHOGcidIjcDe97dXU1vfTSS9S9e3fxxxjT8v3O9+G+F5RtTj33UBcuXKCZM2feNizKQ4e9evUS+T/vv/8+/eQnPxG5X/yZiDcEMETii0rRoUMHEdDwRXvlypUiuckr3nzzTfFacLCiCPww818hnOD6yCOPiC/5Vq1axelIwUr8F+m//du/ib+yFixYELRt4sSJQf+v8Jf/j3/8Y5Ew6KQS5KEGDRoU9Dnnc+PPN/fK8OfdK/iva+6Brlmzpuved+5F4D9KA/MbvWJclHPn3iTO82nXrp2Y1BKI8+IU3PvGOTTcAydDAIMhpDA4Gv/ud79Lx48fp6ysLDG0wj0ToV2tvM0tvvjiC9qyZQuNHDlStR0Hd4xfGzdR3svQ2QeB7zPfl5SUBG3nbnTO5nfLZ0EJXvjzwIl/gb0vkT4P/BqcOnWK3ISHkrnLXPmce+G9/+CDD0TvarTvACe+7+PHjxeJ19u3b6emTZv6n9fy/c734b4XlG1OPXfFlStXRA8k97ytWbOGkpKSKNp7/49//IPKy8sp3hDAhMHdY9zDwL0N999/v3hDt27d6t/O/5Nzjky3bt3ILTjLnLvIOQpXU1BQIO75tXETHjrgL6PA95n/KuH8BuV95nv+ouNxc8W2bdtE96wS2LkheOF8MA5mOd8hGv48cB5I6PCK0/EXNOfAKJ9zt7/3Sg8sf9/xjCW3vO/ci8gXcL4w8/vF/58H0vL9zveFhYVBAawS3HOPhVPPXfmO45lJ3KP23nvv3dbzFum9r1u3rhw9b/HOIpbBz372M9+OHTt8RUVFvj179vh69+7ta9CggcjaZmPGjPE1b97ct23bNt/f/vY3X7du3cTNLaqqqsT55ebmBj1//Phx34wZM8Q582vz7rvv+lq2bOnr0aOHz4muXLniO3TokLjxR/93v/ud+Lcyy2b27Nm+OnXqiPP85JNPxGyM7Oxs340bN/z7ePTRR32dOnXyffjhh77du3f77r77bt/gwYN9Tj//iooK35NPPulr2rSpr6CgwHfu3Dn/TZlpsXfvXjEThbefOHHCt3TpUt8dd9zhGzZsmM/J587bfv7zn4tZJ/w537Jli69z587ivb1586bj3/ton3tWWlrqS0tLE7NrQjn5fR87dqwvMzNTfL8HfqavX7/ubxPt+/3WrVu+9u3b+/r06SNeg40bN4rzz8vL8zn53EtLS31dunTx5eTkiO/6wDZ8zuy9997zLVq0yFdYWOj7/PPPffPnzxefk6lTp/pkgADG5/P9+7//u69x48Zi+tidd94pHvMbquAL2E9+8hNf3bp1xZv3wx/+ULzJbrFp0ybxxXbs2LGg50+fPi2ClXr16onpxK1bt/ZNmjRJfPCdaPv27eI8Q288hVaZSv3yyy/7GjVqJM73kUceue01uXjxorho1apVS0yjfP7558UFwunnzxfucNv4xj/HDh48KL7w+EuxZs2avrZt2/peeeWVoIu8E8+dv9D54sQXJZ5Sy1OGR40aFTRt1snvfbTPPXvjjTd8qampYlpxKCe/75E+02+99Zau7/dTp075+vXrJ14j/uOW/+gNnGrsxHPfHuFzwTf+PlBKBXTs2FF85tPT00W5kYULF4o/emWQwP+Jdy8QAAAAgB7IgQEAAADHQQADAAAAjoMABgAAABwHAQwAAAA4DgIYAAAAcBwEMAAAAOA4CGAAAADAcRDAAAAAgOMggAEAAADHQQADAAAAjoMABgAAABwHAQwAAACQ0/x/t1BkWRt/sxcAAAAASUVORK5CYII="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 8
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-04-21T15:56:30.514723Z",
     "start_time": "2025-04-21T15:56:30.432223Z"
    }
   },
   "cell_type": "code",
   "source": [
    "poly_feature = PolynomialFeatures(degree=2)\n",
    "x_data = data[:, 3, np.newaxis]\n",
    "y_data = data[:, 4, np.newaxis]\n",
    "x_mean, x_std = np.mean(x_data), np.std(x_data)\n",
    "y_mean, y_std = np.mean(y_data), np.std(y_data)\n",
    "x_norm = (x_data - x_mean) / x_std\n",
    "y_norm = (y_data - y_mean) / y_std\n",
    "x_poly = poly_feature.fit_transform(x_norm)\n",
    "print(x_poly)\n",
    "print(x_poly.shape)\n",
    "\n",
    "linear_reg = LinearRegression()\n",
    "linear_reg.fit(x_poly, y_norm)\n",
    "\n",
    "plt.plot(x_norm, y_norm, 'b.')\n",
    "plt.plot(x_norm, linear_reg.predict(poly_feature.fit_transform(x_norm)), c='r')\n",
    "plt.show()\n"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[ 1.00000000e+00 -1.68395879e+00  2.83571722e+00]\n",
      " [ 1.00000000e+00 -1.48303597e+00  2.19939569e+00]\n",
      " [ 1.00000000e+00 -1.40768991e+00  1.98159088e+00]\n",
      " [ 1.00000000e+00 -1.40768991e+00  1.98159088e+00]\n",
      " [ 1.00000000e+00 -1.40768991e+00  1.98159088e+00]\n",
      " [ 1.00000000e+00 -1.38257456e+00  1.91151241e+00]\n",
      " [ 1.00000000e+00 -1.35745920e+00  1.84269549e+00]\n",
      " [ 1.00000000e+00 -1.35745920e+00  1.84269549e+00]\n",
      " [ 1.00000000e+00 -1.33234385e+00  1.77514014e+00]\n",
      " [ 1.00000000e+00 -1.28211315e+00  1.64381412e+00]\n",
      " [ 1.00000000e+00 -1.23188244e+00  1.51753434e+00]\n",
      " [ 1.00000000e+00 -1.23188244e+00  1.51753434e+00]\n",
      " [ 1.00000000e+00 -1.23188244e+00  1.51753434e+00]\n",
      " [ 1.00000000e+00 -1.23188244e+00  1.51753434e+00]\n",
      " [ 1.00000000e+00 -1.23188244e+00  1.51753434e+00]\n",
      " [ 1.00000000e+00 -1.18165173e+00  1.39630082e+00]\n",
      " [ 1.00000000e+00 -1.18165173e+00  1.39630082e+00]\n",
      " [ 1.00000000e+00 -1.18165173e+00  1.39630082e+00]\n",
      " [ 1.00000000e+00 -1.18165173e+00  1.39630082e+00]\n",
      " [ 1.00000000e+00 -1.18165173e+00  1.39630082e+00]\n",
      " [ 1.00000000e+00 -1.10630567e+00  1.22391224e+00]\n",
      " [ 1.00000000e+00 -1.10630567e+00  1.22391224e+00]\n",
      " [ 1.00000000e+00 -1.10630567e+00  1.22391224e+00]\n",
      " [ 1.00000000e+00 -1.03095961e+00  1.06287773e+00]\n",
      " [ 1.00000000e+00 -1.03095961e+00  1.06287773e+00]\n",
      " [ 1.00000000e+00 -1.00584426e+00  1.01172268e+00]\n",
      " [ 1.00000000e+00 -1.00584426e+00  1.01172268e+00]\n",
      " [ 1.00000000e+00 -9.80728909e-01  9.61829193e-01]\n",
      " [ 1.00000000e+00 -9.80728909e-01  9.61829193e-01]\n",
      " [ 1.00000000e+00 -9.80728909e-01  9.61829193e-01]\n",
      " [ 1.00000000e+00 -9.80728909e-01  9.61829193e-01]\n",
      " [ 1.00000000e+00 -9.80728909e-01  9.61829193e-01]\n",
      " [ 1.00000000e+00 -9.80728909e-01  9.61829193e-01]\n",
      " [ 1.00000000e+00 -9.55613556e-01  9.13197268e-01]\n",
      " [ 1.00000000e+00 -9.30498203e-01  8.65826905e-01]\n",
      " [ 1.00000000e+00 -9.05382850e-01  8.19718105e-01]\n",
      " [ 1.00000000e+00 -9.05382850e-01  8.19718105e-01]\n",
      " [ 1.00000000e+00 -8.80267497e-01  7.74870866e-01]\n",
      " [ 1.00000000e+00 -8.80267497e-01  7.74870866e-01]\n",
      " [ 1.00000000e+00 -8.80267497e-01  7.74870866e-01]\n",
      " [ 1.00000000e+00 -8.80267497e-01  7.74870866e-01]\n",
      " [ 1.00000000e+00 -8.80267497e-01  7.74870866e-01]\n",
      " [ 1.00000000e+00 -8.80267497e-01  7.74870866e-01]\n",
      " [ 1.00000000e+00 -8.55152144e-01  7.31285189e-01]\n",
      " [ 1.00000000e+00 -8.55152144e-01  7.31285189e-01]\n",
      " [ 1.00000000e+00 -8.55152144e-01  7.31285189e-01]\n",
      " [ 1.00000000e+00 -8.55152144e-01  7.31285189e-01]\n",
      " [ 1.00000000e+00 -8.55152144e-01  7.31285189e-01]\n",
      " [ 1.00000000e+00 -8.55152144e-01  7.31285189e-01]\n",
      " [ 1.00000000e+00 -8.55152144e-01  7.31285189e-01]\n",
      " [ 1.00000000e+00 -8.55152144e-01  7.31285189e-01]\n",
      " [ 1.00000000e+00 -8.55152144e-01  7.31285189e-01]\n",
      " [ 1.00000000e+00 -8.30036791e-01  6.88961074e-01]\n",
      " [ 1.00000000e+00 -8.30036791e-01  6.88961074e-01]\n",
      " [ 1.00000000e+00 -8.30036791e-01  6.88961074e-01]\n",
      " [ 1.00000000e+00 -8.30036791e-01  6.88961074e-01]\n",
      " [ 1.00000000e+00 -7.79806084e-01  6.08097529e-01]\n",
      " [ 1.00000000e+00 -7.79806084e-01  6.08097529e-01]\n",
      " [ 1.00000000e+00 -7.79806084e-01  6.08097529e-01]\n",
      " [ 1.00000000e+00 -7.79806084e-01  6.08097529e-01]\n",
      " [ 1.00000000e+00 -7.79806084e-01  6.08097529e-01]\n",
      " [ 1.00000000e+00 -7.79806084e-01  6.08097529e-01]\n",
      " [ 1.00000000e+00 -7.79806084e-01  6.08097529e-01]\n",
      " [ 1.00000000e+00 -7.79806084e-01  6.08097529e-01]\n",
      " [ 1.00000000e+00 -7.79806084e-01  6.08097529e-01]\n",
      " [ 1.00000000e+00 -7.79806084e-01  6.08097529e-01]\n",
      " [ 1.00000000e+00 -7.79806084e-01  6.08097529e-01]\n",
      " [ 1.00000000e+00 -7.54690731e-01  5.69558100e-01]\n",
      " [ 1.00000000e+00 -7.29575378e-01  5.32280233e-01]\n",
      " [ 1.00000000e+00 -7.29575378e-01  5.32280233e-01]\n",
      " [ 1.00000000e+00 -7.29575378e-01  5.32280233e-01]\n",
      " [ 1.00000000e+00 -7.29575378e-01  5.32280233e-01]\n",
      " [ 1.00000000e+00 -7.29575378e-01  5.32280233e-01]\n",
      " [ 1.00000000e+00 -7.29575378e-01  5.32280233e-01]\n",
      " [ 1.00000000e+00 -7.29575378e-01  5.32280233e-01]\n",
      " [ 1.00000000e+00 -7.29575378e-01  5.32280233e-01]\n",
      " [ 1.00000000e+00 -7.29575378e-01  5.32280233e-01]\n",
      " [ 1.00000000e+00 -7.29575378e-01  5.32280233e-01]\n",
      " [ 1.00000000e+00 -7.29575378e-01  5.32280233e-01]\n",
      " [ 1.00000000e+00 -7.29575378e-01  5.32280233e-01]\n",
      " [ 1.00000000e+00 -7.29575378e-01  5.32280233e-01]\n",
      " [ 1.00000000e+00 -7.29575378e-01  5.32280233e-01]\n",
      " [ 1.00000000e+00 -7.29575378e-01  5.32280233e-01]\n",
      " [ 1.00000000e+00 -6.79344672e-01  4.61509184e-01]\n",
      " [ 1.00000000e+00 -6.79344672e-01  4.61509184e-01]\n",
      " [ 1.00000000e+00 -6.79344672e-01  4.61509184e-01]\n",
      " [ 1.00000000e+00 -6.79344672e-01  4.61509184e-01]\n",
      " [ 1.00000000e+00 -6.03998613e-01  3.64814325e-01]\n",
      " [ 1.00000000e+00 -6.03998613e-01  3.64814325e-01]\n",
      " [ 1.00000000e+00 -6.03998613e-01  3.64814325e-01]\n",
      " [ 1.00000000e+00 -6.03998613e-01  3.64814325e-01]\n",
      " [ 1.00000000e+00 -6.03998613e-01  3.64814325e-01]\n",
      " [ 1.00000000e+00 -6.03998613e-01  3.64814325e-01]\n",
      " [ 1.00000000e+00 -6.03998613e-01  3.64814325e-01]\n",
      " [ 1.00000000e+00 -5.78883260e-01  3.35105829e-01]\n",
      " [ 1.00000000e+00 -5.53767907e-01  3.06658895e-01]\n",
      " [ 1.00000000e+00 -5.53767907e-01  3.06658895e-01]\n",
      " [ 1.00000000e+00 -5.28652554e-01  2.79473523e-01]\n",
      " [ 1.00000000e+00 -4.78421848e-01  2.28887464e-01]\n",
      " [ 1.00000000e+00 -4.78421848e-01  2.28887464e-01]\n",
      " [ 1.00000000e+00 -4.78421848e-01  2.28887464e-01]\n",
      " [ 1.00000000e+00 -4.78421848e-01  2.28887464e-01]\n",
      " [ 1.00000000e+00 -4.78421848e-01  2.28887464e-01]\n",
      " [ 1.00000000e+00 -4.78421848e-01  2.28887464e-01]\n",
      " [ 1.00000000e+00 -4.78421848e-01  2.28887464e-01]\n",
      " [ 1.00000000e+00 -4.78421848e-01  2.28887464e-01]\n",
      " [ 1.00000000e+00 -4.78421848e-01  2.28887464e-01]\n",
      " [ 1.00000000e+00 -4.78421848e-01  2.28887464e-01]\n",
      " [ 1.00000000e+00 -4.78421848e-01  2.28887464e-01]\n",
      " [ 1.00000000e+00 -4.78421848e-01  2.28887464e-01]\n",
      " [ 1.00000000e+00 -4.78421848e-01  2.28887464e-01]\n",
      " [ 1.00000000e+00 -4.78421848e-01  2.28887464e-01]\n",
      " [ 1.00000000e+00 -4.78421848e-01  2.28887464e-01]\n",
      " [ 1.00000000e+00 -3.52845083e-01  1.24499652e-01]\n",
      " [ 1.00000000e+00 -3.52845083e-01  1.24499652e-01]\n",
      " [ 1.00000000e+00 -3.52845083e-01  1.24499652e-01]\n",
      " [ 1.00000000e+00 -3.52845083e-01  1.24499652e-01]\n",
      " [ 1.00000000e+00 -3.52845083e-01  1.24499652e-01]\n",
      " [ 1.00000000e+00 -3.52845083e-01  1.24499652e-01]\n",
      " [ 1.00000000e+00 -3.52845083e-01  1.24499652e-01]\n",
      " [ 1.00000000e+00 -3.52845083e-01  1.24499652e-01]\n",
      " [ 1.00000000e+00 -3.52845083e-01  1.24499652e-01]\n",
      " [ 1.00000000e+00 -3.52845083e-01  1.24499652e-01]\n",
      " [ 1.00000000e+00 -3.52845083e-01  1.24499652e-01]\n",
      " [ 1.00000000e+00 -3.52845083e-01  1.24499652e-01]\n",
      " [ 1.00000000e+00 -3.02614376e-01  9.15754608e-02]\n",
      " [ 1.00000000e+00 -2.27268317e-01  5.16508880e-02]\n",
      " [ 1.00000000e+00 -2.27268317e-01  5.16508880e-02]\n",
      " [ 1.00000000e+00 -2.27268317e-01  5.16508880e-02]\n",
      " [ 1.00000000e+00 -2.27268317e-01  5.16508880e-02]\n",
      " [ 1.00000000e+00 -2.27268317e-01  5.16508880e-02]\n",
      " [ 1.00000000e+00 -2.27268317e-01  5.16508880e-02]\n",
      " [ 1.00000000e+00 -2.27268317e-01  5.16508880e-02]\n",
      " [ 1.00000000e+00 -2.27268317e-01  5.16508880e-02]\n",
      " [ 1.00000000e+00 -2.27268317e-01  5.16508880e-02]\n",
      " [ 1.00000000e+00 -2.27268317e-01  5.16508880e-02]\n",
      " [ 1.00000000e+00 -2.27268317e-01  5.16508880e-02]\n",
      " [ 1.00000000e+00 -2.27268317e-01  5.16508880e-02]\n",
      " [ 1.00000000e+00 -2.27268317e-01  5.16508880e-02]\n",
      " [ 1.00000000e+00 -2.27268317e-01  5.16508880e-02]\n",
      " [ 1.00000000e+00 -2.27268317e-01  5.16508880e-02]\n",
      " [ 1.00000000e+00 -1.77037611e-01  3.13423158e-02]\n",
      " [ 1.00000000e+00 -1.01691552e-01  1.03411717e-02]\n",
      " [ 1.00000000e+00 -1.01691552e-01  1.03411717e-02]\n",
      " [ 1.00000000e+00 -1.01691552e-01  1.03411717e-02]\n",
      " [ 1.00000000e+00  2.38852133e-02  5.70503415e-04]\n",
      " [ 1.00000000e+00  2.38852133e-02  5.70503415e-04]\n",
      " [ 1.00000000e+00  1.49461979e-01  2.23388830e-02]\n",
      " [ 1.00000000e+00  1.49461979e-01  2.23388830e-02]\n",
      " [ 1.00000000e+00  2.49923391e-01  6.24617013e-02]\n",
      " [ 1.00000000e+00  2.49923391e-01  6.24617013e-02]\n",
      " [ 1.00000000e+00  2.75038744e-01  7.56463106e-02]\n",
      " [ 1.00000000e+00  2.75038744e-01  7.56463106e-02]\n",
      " [ 1.00000000e+00  2.75038744e-01  7.56463106e-02]\n",
      " [ 1.00000000e+00  2.75038744e-01  7.56463106e-02]\n",
      " [ 1.00000000e+00  2.75038744e-01  7.56463106e-02]\n",
      " [ 1.00000000e+00  4.00615509e-01  1.60492786e-01]\n",
      " [ 1.00000000e+00  4.50846215e-01  2.03262310e-01]\n",
      " [ 1.00000000e+00  4.75961568e-01  2.26539414e-01]\n",
      " [ 1.00000000e+00  5.01076921e-01  2.51078081e-01]\n",
      " [ 1.00000000e+00  5.01076921e-01  2.51078081e-01]\n",
      " [ 1.00000000e+00  5.26192274e-01  2.76878310e-01]\n",
      " [ 1.00000000e+00  5.26192274e-01  2.76878310e-01]\n",
      " [ 1.00000000e+00  5.26192274e-01  2.76878310e-01]\n",
      " [ 1.00000000e+00  5.26192274e-01  2.76878310e-01]\n",
      " [ 1.00000000e+00  5.26192274e-01  2.76878310e-01]\n",
      " [ 1.00000000e+00  5.26192274e-01  2.76878310e-01]\n",
      " [ 1.00000000e+00  5.26192274e-01  2.76878310e-01]\n",
      " [ 1.00000000e+00  5.76422981e-01  3.32263452e-01]\n",
      " [ 1.00000000e+00  6.51769040e-01  4.24802881e-01]\n",
      " [ 1.00000000e+00  6.51769040e-01  4.24802881e-01]\n",
      " [ 1.00000000e+00  6.51769040e-01  4.24802881e-01]\n",
      " [ 1.00000000e+00  6.51769040e-01  4.24802881e-01]\n",
      " [ 1.00000000e+00  6.51769040e-01  4.24802881e-01]\n",
      " [ 1.00000000e+00  6.51769040e-01  4.24802881e-01]\n",
      " [ 1.00000000e+00  6.51769040e-01  4.24802881e-01]\n",
      " [ 1.00000000e+00  7.27115099e-01  5.28696367e-01]\n",
      " [ 1.00000000e+00  7.52230452e-01  5.65850653e-01]\n",
      " [ 1.00000000e+00  7.77345805e-01  6.04266500e-01]\n",
      " [ 1.00000000e+00  7.77345805e-01  6.04266500e-01]\n",
      " [ 1.00000000e+00  7.77345805e-01  6.04266500e-01]\n",
      " [ 1.00000000e+00  7.77345805e-01  6.04266500e-01]\n",
      " [ 1.00000000e+00  7.77345805e-01  6.04266500e-01]\n",
      " [ 1.00000000e+00  7.77345805e-01  6.04266500e-01]\n",
      " [ 1.00000000e+00  7.77345805e-01  6.04266500e-01]\n",
      " [ 1.00000000e+00  7.77345805e-01  6.04266500e-01]\n",
      " [ 1.00000000e+00  7.77345805e-01  6.04266500e-01]\n",
      " [ 1.00000000e+00  7.77345805e-01  6.04266500e-01]\n",
      " [ 1.00000000e+00  7.77345805e-01  6.04266500e-01]\n",
      " [ 1.00000000e+00  7.77345805e-01  6.04266500e-01]\n",
      " [ 1.00000000e+00  7.77345805e-01  6.04266500e-01]\n",
      " [ 1.00000000e+00  7.77345805e-01  6.04266500e-01]\n",
      " [ 1.00000000e+00  7.77345805e-01  6.04266500e-01]\n",
      " [ 1.00000000e+00  7.77345805e-01  6.04266500e-01]\n",
      " [ 1.00000000e+00  7.77345805e-01  6.04266500e-01]\n",
      " [ 1.00000000e+00  7.77345805e-01  6.04266500e-01]\n",
      " [ 1.00000000e+00  7.77345805e-01  6.04266500e-01]\n",
      " [ 1.00000000e+00  7.77345805e-01  6.04266500e-01]\n",
      " [ 1.00000000e+00  7.77345805e-01  6.04266500e-01]\n",
      " [ 1.00000000e+00  7.77345805e-01  6.04266500e-01]\n",
      " [ 1.00000000e+00  8.27576511e-01  6.84882882e-01]\n",
      " [ 1.00000000e+00  8.52691864e-01  7.27083415e-01]\n",
      " [ 1.00000000e+00  8.52691864e-01  7.27083415e-01]\n",
      " [ 1.00000000e+00  9.02922570e-01  8.15269168e-01]\n",
      " [ 1.00000000e+00  9.02922570e-01  8.15269168e-01]\n",
      " [ 1.00000000e+00  9.78268629e-01  9.57009511e-01]\n",
      " [ 1.00000000e+00  1.02849934e+00  1.05781088e+00]\n",
      " [ 1.00000000e+00  1.02849934e+00  1.05781088e+00]\n",
      " [ 1.00000000e+00  1.15407610e+00  1.33189165e+00]\n",
      " [ 1.00000000e+00  1.15407610e+00  1.33189165e+00]\n",
      " [ 1.00000000e+00  1.15407610e+00  1.33189165e+00]\n",
      " [ 1.00000000e+00  1.15407610e+00  1.33189165e+00]\n",
      " [ 1.00000000e+00  1.20430681e+00  1.45035489e+00]\n",
      " [ 1.00000000e+00  1.27965287e+00  1.63751146e+00]\n",
      " [ 1.00000000e+00  1.27965287e+00  1.63751146e+00]\n",
      " [ 1.00000000e+00  1.27965287e+00  1.63751146e+00]\n",
      " [ 1.00000000e+00  1.27965287e+00  1.63751146e+00]\n",
      " [ 1.00000000e+00  1.27965287e+00  1.63751146e+00]\n",
      " [ 1.00000000e+00  1.40522963e+00  1.97467032e+00]\n",
      " [ 1.00000000e+00  1.40522963e+00  1.97467032e+00]\n",
      " [ 1.00000000e+00  1.40522963e+00  1.97467032e+00]\n",
      " [ 1.00000000e+00  1.40522963e+00  1.97467032e+00]\n",
      " [ 1.00000000e+00  1.40522963e+00  1.97467032e+00]\n",
      " [ 1.00000000e+00  1.53080640e+00  2.34336822e+00]\n",
      " [ 1.00000000e+00  1.53080640e+00  2.34336822e+00]\n",
      " [ 1.00000000e+00  1.53080640e+00  2.34336822e+00]\n",
      " [ 1.00000000e+00  1.53080640e+00  2.34336822e+00]\n",
      " [ 1.00000000e+00  1.53080640e+00  2.34336822e+00]\n",
      " [ 1.00000000e+00  1.78195993e+00  3.17538118e+00]\n",
      " [ 1.00000000e+00  1.78195993e+00  3.17538118e+00]\n",
      " [ 1.00000000e+00  1.78195993e+00  3.17538118e+00]\n",
      " [ 1.00000000e+00  1.85730599e+00  3.44958553e+00]\n",
      " [ 1.00000000e+00  1.98288275e+00  3.93182401e+00]\n",
      " [ 1.00000000e+00  1.98288275e+00  3.93182401e+00]\n",
      " [ 1.00000000e+00  2.03311346e+00  4.13355033e+00]\n",
      " [ 1.00000000e+00  2.23403628e+00  4.99091811e+00]\n",
      " [ 1.00000000e+00  2.28426699e+00  5.21787567e+00]\n",
      " [ 1.00000000e+00  2.40984375e+00  5.80734692e+00]\n",
      " [ 1.00000000e+00  2.40984375e+00  5.80734692e+00]\n",
      " [ 1.00000000e+00  2.40984375e+00  5.80734692e+00]\n",
      " [ 1.00000000e+00  2.53542052e+00  6.42835721e+00]\n",
      " [ 1.00000000e+00  2.66099728e+00  7.08090655e+00]\n",
      " [ 1.00000000e+00  2.66099728e+00  7.08090655e+00]\n",
      " [ 1.00000000e+00  2.66099728e+00  7.08090655e+00]\n",
      " [ 1.00000000e+00  2.78657405e+00  7.76499493e+00]]\n",
      "(245, 3)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 10
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": ".venv",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
